SYNTAXDEF presents
FOR <http://www.claaswilke.de/presents>
START PresentGroup


OPTIONS {
	reloadGeneratorModel = "true";
	overrideManifest = "false";
	overridePluginXML = "false";
}

TOKENS { 
    DEFINE NUMBER $('0'..'9')+$; 
}

RULES {
	PresentGroup ::= 
		"Persons" #1 "{" #1 (persons #0 "," #1)+ persons "}" !0
		conflicts* !0
		pastPresents*;
	
	Person ::= identifier[TEXT] #1;
	
	Conflict ::= conflictor[TEXT] #1 "conflicts" (conflictees[TEXT] #0 "," #1)* conflictees[TEXT] !0;
	
	PastPresent ::= "Past present" #1 "from" #1 from[TEXT] "to" #1 (to #0 "," #1)* to !0;
	
	PastPresentRule ::= (multiplicator[NUMBER] #1)? person[TEXT];
}